#ifndef _AFFICHERJEU_H
#define _AFFICHERJEU_H

#include <string>
#include <iostream>
#include <math.h>

#include "defines.h"

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Window/WindowSettings.hpp>

#include "Monde.h"


class AfficherJeu{

	public :

		AfficherJeu(sf::RenderWindow *_App, std::string _cheminDonnees, Monde &m);

		void afficherSelectionnes();
	
		/// Affiche le HUD, les ressources du joueur, les constructions possibles...
		void afficherHUD();

		/// Affiche le jeu
		void render();

		/// Deselectionne toutes les unites precedemment selectionnees
		void deselectionnerTous();

		/// Selectionne tout le bloc b
		void selectionner( Bloc b);

		/// Retourne UN SEUL element selectionne : un seul clic, pas de zone
		Element* getSelectionne( Bloc b);

		/// Retourne l'unite numero i selectionnee, null sinon
		Entite* getEntiteSelectionne(unsigned int i);

		/// Retourne le batiment selectionne, NULL sinon
		Batiment* getBatimentSelectionne();

	private :

		Monde &monde;

		sf::RenderWindow *App;

		std::string cheminDonnees;

		std::vector<Entite*> entitesSelectionnes;

		Batiment* batimentSelectionne;
};
#endif
